cpuidle: Add support for Always Running APIC timer, CPUID_0x6_EAX_Bit2.
authorKeir Fraser <keir.fraser@citrix.com>
Fri, 17 Apr 2009 12:14:01 +0000 (13:14 +0100)
committerKeir Fraser <keir.fraser@citrix.com>
Fri, 17 Apr 2009 12:14:01 +0000 (13:14 +0100)
commitede78f509c7f2b79d741e450bfca7b8d4a262b94
treebd2f12af4aa1e2123007f6ad09363c04355f0a9e
parentcebd2137ea64a8ba9cc2edc57df556224917e9bd
cpuidle: Add support for Always Running APIC timer, CPUID_0x6_EAX_Bit2.

This bit means the APIC timer continues to run even when CPU is
in deep C-states.

The advantage is that we can use LAPIC timer on these CPUs
always, and there is no need for "slow to read and program"
external timers (HPET/PIT) and the timer broadcast logic
and related code in C-state entry and exit.

Refer to the latest Intel SDM Vol 2A
(http://www.intel.com/products/processor/manuals/index.htm)

Signed-off-by: Wei Gang <gang.wei@intel.com>
xen/arch/x86/acpi/cpu_idle.c
xen/arch/x86/cpu/intel.c
xen/arch/x86/time.c
xen/include/asm-x86/cpufeature.h